1. Field of the Invention
This invention relates to the art of embedded internet devices, and more particularly to a system and an architecture for providing real time interactivity between multiple devices and multiple users simultaneously.
2. Description of Prior Art
With the mass adoption of the internet in recent years, more and more people are getting connected to the internet, mostly through Personal Computers (PCs). More recently however, the focus is shifting from internet connectivity for people using PCs to internet connectivity for appliances using embedded internet devices Embedded internet devices are basically electronic devices that have microprocessors running a suitable set of software embedded into silicon (commonly known as a TCP/IP stack in firmware). This firmware enables the devices to communicate over the internet using Internet Protocol (IP) independent of a Personal Computer (PC) or equivalent machine.
Early internet devices are mostly designed as thin clients. These client devices connect to conventional servers over the internet to exchange data or request for services residing in the servers. Two common examples are the Wireless Application Protocol (WAP) mobile phones and Personal Digital Assistants (PDA). These embedded internet devices are usually operated by humans and primarily used to retrieve data from conventional servers.
The need for internet devices to operate independently of humans and PCs, as well as to provide rather than receive information has resulted in more recent internet devices designed as embedded servers rather than clients. Some of these devices have the capability of serving web pages as if they were conventional servers on the internet, albeit with limitations and much less functionality. Others have embedded email servers built-in, giving them the capability to send and receive emails.
These devices designed around embedded servers are usually deployed to operate independently without the need of any human intervention, and they are typically built as part of an appliance to enable the target appliance to be monitored or controlled remotely by a user over the internet. One of the main reasons for the deployment of embedded internet servers for internet appliances is to include functionality that would be unavailable on an embedded client For example, an appliance with an embedded mail server could report its status to a user by automatically sending out an email. Conversely, it could receive instructions from users via email. Another reason is to give users the ability to connect, monitor and control these appliances in real-time by logging directly onto the internet server embedded into the appliances.
However, deploying embedded internet servers to overcome limitations of embedded clients introduced a new set of limitations by themselves. This is very apparent in applications that are price sensitive, and in applications where appliances have to be connected directly to the internet without the aid of a LAN, PC or other comparatively heavy-duty machine.
As an example, for conventional embedded internet servers to be connected directly to the internet, a static IP address is required for each device. This would pose a huge burden on the IP address allocation as billions of internet devices are expected to come on stream in the near future Alternatively, they can be connected to a LAN, and then to the internet via another server or internet gateway with an existing IP address. However, this would not be practical in situations where such supporting infrastructure is absent or not economically feasible.
While appliances with embedded servers may be monitored and controlled by a user from any internet connection in the world, it will not efficiently serve multiple users simultaneously due to the inherent limitations of the embedded servers—low processing power, memory and bandwidth. Take a conventional embedded weather station as an example; users may connect to the embedded server to see the temperature, humidity and pressure data on a browser in real-time. However, when more than one user connects at the same time, most of conventional embedded servers will begin to show a dramatic decrease in performance.
Yet another major disadvantage of conventional embedded servers is the need for users to connect to the servers (and hence appliances) individually. For example, a user would need to point the browser's URL to that of the particular appliance to see web pages served from that appliance only. This limitation would become apparent in situations where a user has to monitor and or control hundreds or thousands of appliances simultaneously and in real time. By having to connect to the appliances individually, users will have difficulty extracting data from individual appliance for further computation or producing a composite set of data derived from the data of all the networked appliances
In addition, compatibility issues amongst appliances manufactured by an increasingly large number of vendors would hinder them from communicating with each other seamlessly While it would be possible for a user to connect to and program a particular appliance to perform a certain function, it would be difficult to manage such programs as they reside individually in each of the appliance separately.
While the introduction of embedded internet servers provides a means for users and internet-enabled appliances to communicate directly with each other, the physical limitations of processing power, memory and bandwidth in embedded systems make them inherently inefficient or unsuitable for many types of applications. These include applications where multiple users have to be served by a particular appliance simultaneously, a particular user has to access multiple appliances simultaneously; and multiple appliances have to communicate with each other simultaneously.
There is still room for improvement within the art.
1. Field of the Invention
U.S. Class 709/200
2. Description of Related Art Including Information Disclosed Under 37 CFR §1.97**> and 1.98<.
None